Processing facilities are often managed using process control systems. Example processing facilities include manufacturing plants, chemical plants, crude oil refineries, and ore processing plants. Among other operations, process control systems typically manage the use of motors, valves, and other industrial equipment in the processing facilities.
In conventional process control systems, various controllers are often used to control the operation of the industrial equipment in the processing facilities. The controllers could, for example, monitor the operation of the industrial equipment, provide control signals to the industrial equipment, and generate alarms when malfunctions are detected.
Conventional controllers often include function block algorithms or other control logic implementing the desired control functionality. Conventional controllers also often include a scheduler, which schedules or drives the execution of the control logic. For example, a scheduler could invoke or schedule execution of a function block algorithm once every twenty milliseconds. In general, the scheduler is often written by a manufacturer or vendor of a controller, while the control logic can be written by the manufacturer or vendor of the controller or by end users of the controller (such as industrial plant engineers).
For various reasons, it may become necessary or desirable to upgrade or improve the control logic in a conventional controller after installation in a process control system. This becomes challenging when an old version of the control logic is being executed by the conventional controller to control a process in a processing facility. For example, simply shutting down a conventional controller to load a new version of the control logic onto the controller would likely require shutting down an entire industrial process (a complex, time consuming, and expensive operation). Also, a switch-over from an old version of the control logic to a new version of the control logic often needs to occur within a short amount of time (such as tens of milliseconds). In addition, the switch-over often must include a transfer of data from object instances associated with the old version of the control logic to object instances associated with the new version of the control logic.